Programmable blender having record and playback features

ABSTRACT

A programmable blender having record and playback features includes a record mode and a playback mode. When the blender is placed into the record mode, a processor stores a user created blending sequence to a memory unit. Alternatively, when the blender is placed into a playback mode, the processor automatically controls the operation of the blender in accordance with the stored blending sequence.

TECHNICAL FIELD

The present invention relates in general to appliances used to processfood and drinks. More particularly, the present invention pertains tofood and drink blenders having a plurality of blend settings that may beadjusted by the user. More specifically, the present invention relatesto such blenders where a combination of various blending functionsadjusted by the user are recorded and stored as a blending sequence andmay be played back by the user on demand.

BACKGROUND ART

Blenders to facilitate the processing of food, drinks, and other blendedfood preparations, have become ubiquitous in both commercial andresidential settings. Such appliances are particularly useful wherethere are a variety of operations to be performed repeatedly withaccuracy and precision.

Because changes in user taste or preference occur, the ability to createand store customized blending sequences provided by the blender has comeabout. For the purpose of the following discussion, the term “blendingsequence” refers to the unique manner in which a user may increaseand/or decrease the speed of the motor, as well as the adjustment of anyother user adjustable features provided by the blender over time or withregard to any other suitable parameter. Typically, modification oraddition of new blending sequences required that the blender bephysically returned to the manufacturer where it was disassembled andreprogrammed. This process resulted in a tremendous inconvenience tousers, thus making such blenders unattractive to potential buyers.

Furthermore, as blender technology has progressed, user selectable motorspeed controls and timers have been incorporated into blenders to obtaingreater consistency between each blended preparation. However, even withsuch controls, the primary obstacle in creating consistently blendedpreparations, such as blended drinks, is that the user is required toadjust the motor speed consistently each time a blending sequence isperformed.

Recently, advances in semiconductor memories have made it feasible forblenders to include memories in which the varying motor speed andoperating intervals of the blender required for making a blendedpreparation may be stored. Typically, these programmable blenders readinformation regarding a blending sequence that has been encoded by anexternal programming device onto a magnetic strip adhered to a plasticcard. As such, these devices require an external device such as acomputer to enter, modify or duplicate the drink programs maintained bythe plastic card. However, the component costs necessitated by such asystem often makes a blender incorporating such features extremelyexpensive. Furthermore, keeping track of the various program cards usedwith such a system is generally tedious, as the cards are easilymisplaced.

Furthermore, these programmable blenders are generally limited in theamount of complexity that the drink program may contain. For example, atypical drink program may contain only a limited number of slow or fastramps, and speed changes. In addition typical drink programs may providea reduced level of control over the deceleration of the blender'sblades. Moreover, drink programs may also be limited to the number ofburp cycles that can be repeated for a give blending sequence. It shouldbe appreciated that a burp cycle is performed when the blender reducesthe speed of its blades while mixing a substance. This reduced speed ismaintained until the pocket of air is released through the substance,whereupon the speed of the blades is then increased to finish mixing thesubstance. As such, typical programmable blenders limit a user's abilityto create customized blending programs or sequences. Furthermore,current programmable blenders do not allow the user to become part ofthe feedback system of the blending process. And as such, don't allowthe user to obtain enhanced blending cycles as the modification toblending sequences created by current programmable blenders are doneoffline in a non-real time manner.

Therefore, there is a need for a programmable blender having a recordand playback feature that is capable of recording blending sequencesthat include the customized manner in which the user has selectivelyadjusted the various blending functions of the blender. There is also aneed for a programmable blender having a record and playback featurethat has an integrated blender memory unit allowing a user to store andplay back a blending sequence. Additionally, there is a need for aprogrammable blender having a record and playback feature that includesa program selector switch, enabling a user to select a desired storedblend sequence. In addition, there is a need for a programmable blenderhaving a record and playback feature that allows a user to be part ofthe feedback system of the blending process so as to create enhancedblending sequences. Furthermore, there is a need for a programmableblender having a record and playback feature that allows the user torecord and store complex blending sequences that comprise a plurality ofreal-time motor speed variations.

DISCLOSURE OF THE INVENTION

It is thus an object of the present invention to provide a blender whichhas the ability to record blending sequences created by a user.

It is another object of the present invention to provide a blender, asabove, which has the ability to playback a previously recorded blendingsequence.

It is still another object of the present invention to provide ablender, as above, which includes a program selector switch that allowsa user to choose a particular memory location at which a blendingsequence may be recorded.

It is still yet another object of the present invention to provide ablender, as above, in which the program selector switch allows a user tochoose a particular memory location from which a recorded blendingsequence may be played back on demand.

It is still another object of the present invention to provide ablender, as above, which includes a data interface that allows theblender to communicate with a remote computing device so thattransferred blending sequences can be further modified.

These and other objects of the present invention, as well as theadvantages thereof over existing prior art forms, which will becomeapparent from the description to follow, are accomplished by theimprovements hereinafter described and claimed.

In general, a blender having record and playback features includes ablade assembly, a motor to rotate the blade assembly, and a processorcoupled to the motor. The blender also includes a memory unit maintainedby the processor, and a setting switch that is coupled to the processor,whereby the setting switch creates one or more blending sequences. Inaddition, the processor is configured to be placed into either a recordmode or a playback mode. When the processor is placed into a recordmode, the processor stores the blending sequence in the memory unit. Andwhen the processor is placed into the playback mode, the processorcontrols the motor in accordance with the stored blending sequence.

In accordance with another aspect of the present invention, a method forrecording a blending sequence in a blender having a memory includes thefollowing steps. Providing a blender with user adjustable features.Placing the blender into a record mode. Adjusting at least one of theadjustable features, so as to create a blending sequence. And recordingthe blending sequence to the memory of the blender.

In accordance with yet another aspect of the present invention, a methodfor playing back a blending sequence in a blender having a playback modeincludes the following steps. Placing the blender into the playbackmode. Selecting a blending sequence stored in the blender. Andautomatically playing back the blend sequence selected at the selectingstep.

A preferred exemplary blender having record and playback featuresaccording to the concepts of the present invention is shown by way ofexample in the accompanying drawings without attempting to show all thevarious forms and modifications in which the invention might beembodied, the invention being measured by the appended claims and not bythe details of the specification.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a blender in accordance with theconcepts of the present invention.

FIG. 2 is a block diagram of a blender control in accordance with theconcepts of the present invention.

FIGS. 3A-3B represent a flow chart setting forth the operational stepstaken by the blender when a record and a playback feature are invoked inaccordance with the concepts of the present invention.

PREFERRED EMBODIMENT FOR CARRYING OUT THE INVENTION

A blender having record and playback features is generally referred toby the numeral 100 as shown in FIG. 1 of the drawings. Blender 100includes a base 110, from which extends a rotatable shaft 12 thatcarries a set of blades 114 carried by a removable a pitcher 116. Inaddition, base 110 provides various operational features that may beinvoked by the user of blender 100, including: a record/playback toggleswitch 120, a program selector switch 130, a speed setting switch 140,and an initiate switch 150. Record/playback switch 120 allows a user toplace blender 100 into a record or a playback mode, as will hereinafterbe discussed in more detail. Additionally, record/playback switch 120may provide a normal mode in which blender 100 operates normally,without the performance of any of the record and playback features.Program selector switch 130 has a plurality of positions correspondingto specific memory locations where the various blending sequences arestored and retrieved. Speed setting switch 140 allows the user to adjustthe speed of blades 114 of blender 100 in a variable manner to createblend sequences. As previously discussed, a blending sequence includesthe unique manner in which a user may increase and decrease the speed ofshaft 112 via speed setting switch 140 over time. However, in additionto shaft speed, it should also be appreciated that a blending sequencemay be based on any operating parameter associated with the operation ofthe blender 100. For example, the blending sequence may be based onchanges in one or more operating parameters that include, but are notlimited to: changes in the torque of the blades 114, temperaturevariations occurring in the mixture being blended, time of operation,changes in current or amperage drawn by the motor 264, or any othervariable, or combination thereof, such as blade speed divided by motorcurrent for example. It should also be appreciated that the blender 100may also include a display 180 configured to graphically display thevalue or magnitude of a desired operating parameter to the user. Forexample, the display 180 may depict the value or magnitude of theoperating parameter being controlled by the user, or the display 180 maypresent an operating parameter that the user is not directlycontrolling. Finally, initiate switch 150 allows a user to initiate anddeactivate the operation of either the record mode or the playback modedepending on which position record/playback switch 120 is placed.

A blender control used to carryout the operational features provided byblender 100 is generally referred to by the numeral 200 as shown in FIG.2. Blender control 200 includes a power interface 210 that receives A.C.mains power, such as 120 VAC at 60 Hz, from a standard residential mainspower source 220. The power interface 210 converts the A.C. mains power220 into D.C. power, which is supplied to a control module 230 via acontrol power line 232. Control module 230 includes a processor 250 anda memory unit 260 that is coupled thereto. Processor 250 comprises thenecessary logic implemented in hardware, software, or a combination ofboth, necessary to carryout the functions to be discussed below. Inaddition, processor 250 may maintain various working registers andstatus bits necessary for the operation of blender 100. Memory unit 260includes non-volatile memory, such as flash memory (i.e., flash ROM), orany other suitable electrically erasable programmable memory (EEPROM).In addition, memory unit 260 may be a separate component as shown inFIG. 2 or may be integrated into the logic of the circuitry of processor250 as an embedded memory. Also coupled to control module 230 throughpower interface 210 via motor speed control lines 261 and 262, is amotor 264 which drives rotor 112, which rotates blades 114 maintained bypitcher 116. Thus, during operation of blender 100, processor 250 sendssuitable motor speed control signals to power interface 210, which inturn controls the amount of power supplied to the motor via a motorpower line 268 in order to control the speed of blades 114.Correspondingly, motor 264 provides a motor speed signal to powerinterface 210 via the motor speed control lines 261, 262, which is inturn relayed to processor 250. This allows processor 250 to continuouslymonitor the speed of motor 264.

Also coupled to control module 230 are record/playback switch 120,program selector switch 130, speed setting switch 140, and initiateswitch 150. During operation of blender 100, the user may actuaterecord/playback switch 120 so as to place blender 100 into a recordmode, a playback mode, or into a normal mode. In the record mode,processor 250 monitors the program selector switch 130, speed settingswitch 140, and initiate switch 150. Next, the user places programselector switch 130 to a desired position to which the recorded blendingsequence is to be stored. Each position of program selector switch 130is associated with a predetermined pointer address that identifies aspecific memory location within memory unit 260. Continuing, the user ofblender 100 actuates initiate switch 150, causing processor 250 to beginrecording the blending sequence that includes the adjustments of speedsetting switch 140 as adjusted by the user. The created blendingsequence is stored to an area in memory unit 260 that is associated withthe pointer address that is identified by the position of programselector switch 130. Thus, each position of program selector switch 130is associated with a different pointer address that identifies thememory location in memory unit 260 in which a particular blendingsequence may be stored for future playback. In other words, therecording mode allows processor 250 to capture in real-time theadjustment of the operational features, such as motor speed of theblender, as they are changed by the user during a blending sequence.Thus, the recording mode records the real-time speed settings as it isadjusted via speed setting switch 140 during a blending sequence.

Correspondingly, if the user desires to playback a stored blendingsequence, the user places blender 110 into the playback mode by placingrecord/playback switch 120 into the playback position. Once blender 100is in the playback mode, program selector switch 130 is used to select astored blending sequence. Once a stored blending sequence is selectedthe user actuates initiate switch 150. That is, upon placing programselector switch 130 in a specific position, processor 250 acquires theblending sequences from memory locations identified by the pointeraddress identified by the position of selector switch 130. This resultsin processor 250 automatically controlling the speed of motor 264 inaccordance with the selected blending sequence.

In a further embodiment, the control module 230 may provide a datainterface 280 to allow selected blending sequences to be transferred toa data interface 286 maintained by a remote computing device 282, via aremovable, bidirectional data link 284. The data interfaces 280,286 maybe configured to provide serial or parallel data transfer between theprocessor 250 of the blender 100 and the remote computing device 282. Inone aspect, the data interfaces 280,286 may comprise a USB (universalserial bus) interface or wireless port. Specifically, the remotecomputing device 282 may comprise a handheld or mobile computing unit,or may comprise a fixed or standalone computing unit, such as a personalcomputer for example. In one aspect the remote computing device 282 maycomprise a PDA (personal data assistant), a laptop computer, or anyother mobile computing unit that maintains the necessary hardware,software, memory, and input device to enable a user to perform variousfunctions in a manner to be discussed. In addition to the data interface286, the remote computing device 282 may also include a viewable display288, and an input device 290. The display 288 may be comprised of an LCDdisplay (liquid crystal display), or the like, so as to allow the userto view a graphical depiction of a transferred blend sequence.Furthermore, the input device 290 may comprise a keypad, mouse, stylus,or any other suitable mode of input that allows the user to invokevarious functions maintained by the remote computing device 282.

In order to communicate one or more blending sequences between theblender 100 and the remote computing device 282, the user couples thedata link 284 between the data interface 280 maintained by the blender100, and the data interface 288 maintained by the remote computingdevice 282. Once coupled, data comprising one or more blending sequencesmay then be downloaded from the blender 100 to the remote computingdevice by invoking an associated function using the input device 290.After one or more blending sequences have been transferred to the remotecomputing device 282, a selected blending sequence may be showngraphically via the display 288. Next, the user may then identify theparticular areas, or segments of the blending sequence that he or shewishes to modify using the input device 290. Once a desired area of theblending sequence has been identified, the user may edit, or otherwisemodify one or more characteristics maintained by the blend sequence byinvoking the desired function using the input device 290. For example,the user may modify the speed of the blades 114 with regard to time, orthe user may modify the time or duration for which the blade speed ismaintained. In other words, any of the attributes or characteristicscomprising the blending sequence may be modified by the user via theremote computing device 282. Once modified, the blending sequence maythen be transferred from the remote computing device 282 to the blender100 via the data link 284, where the blending sequence is stored at thememory 260. The user may then select the modified blending sequence inthe manner previously discussed. Furthermore, it should be appreciatedthat the data link 284 may comprise a wireless communication link if thecontrol module 230 of the blender 100 and the remote computing device282 are each configured with compatible wireless transceivers. Inaddition, it is contemplated that the blender 100 and the remotecomputing device 282 may be configured to communicate blending sequencesin the manner discussed via a wired or wireless computer network, suchas the Internet for example.

While the basic functions of the record and playback modes provided byblender 100 have been set forth above, the operational steps taken whenthe record and playback modes are initiated, are generally referred toby the numeral 300, as shown in detail in FIG. 3. Specifically, theoperational steps 300 show the sequence taken by processor 250 ofblender control 200 when the record or playback modes are initiated bythe user. Thus, initially at step 310, processor 250 is initialized byturning on blender 100 via a power switch (not shown). Next, at step312, the process 300 determines whether the user has placed blender 100into a record mode or a playback mode via the record/playback switch120. If the user has placed blender 100 into the record mode, then theprocess 300 continues to step 316, where it is determined if initiateswitch 150 has been actuated. If initiate switch 150 has not beenactuated, then the process 300 continues to step 320. At step 320, theprocess 300 determines whether a record status bit has been previouslyset at processor 250. If the record status bit has not been set atprocessor 250, then the process 300 returns to step 312. However, if atstep 320, the process 300 determines that the record status bit has beenset, then the pointer address is incremented by one via processor 250,as indicated at step 322. Next, at step 326, as the blend cycle is beingperformed, processor 250 determines the motor speed as it is adjusted bythe user via speed setting switch 140 in real-time. Somewhatsimultaneously, this motor speed setting is stored as a motor set pointvalue in a set point register (not shown) that is maintained byprocessor 250. Continuing to step 330, processor 250 adjusts the speedof motor 264 to the motor set point value stored in the set pointregister indicated at step 326. Once motor 264 has been set to the setpoint speed stored in the set point register, the process 300 continuesto step 334, where processor 250 accesses the memory location in memoryunit 260 having the pointer address, which was updated at step 322 sothat the blending sequence can be stored in memory unit 260. Finally, atstep 340, the motor set point value stored in the set point register atstep 326 is stored in the memory location identified at step 334. After,the completion of step 340, the process 300 returns to step 316.

If the process 300 determines at step 316 that initiate switch 150 hasbeen actuated then the record status bit maintained by processor 250 istoggled (i.e. the status bit transitioning from a binary 1, to a binary0, or vice versa), as indicated at step 350. Next, at step 354, theprocess 300 determines whether the record status bit has been set afterit has been toggled. If the record bit has not been set, then theprocess continues to step 356, where motor 264 is turned off, whilereturning back to step 312 of the process 300. However, if the recordstatus bit was found to be set at step 354, then processor 250determines the pointer address that is established by the position ofprogram selector switch 130, as indicated at step 360. After step 360has been completed, the process 300 completes steps 326-340 in themanner previously discussed. Once step 340 has been completed, theprocess 300 returns to step 316, whereupon if initiate switch 150 is notactuated and the record status bit remains set, steps 360-340 arecontinuously performed, thus allowing the user to record a blendingsequence that may be replayed on demand.

Returning to step 312, if the user has placed blender 100 into theplayback mode via record/playback switch 120, then the process 300continues to step 380, where processor 250 determines whether initiateswitch 150 has been actuated. If initiate switch 150 has been actuated,then the process 300 continues to step 382, where a run status bit isset at processor 250. Once the run status bit is toggled, the process300 determines if the run status bit has been set, as indicated at step390. If the run status bit has not been set, then the process 300continues to step 392, where motor 264 is turned off, while the process300 returns to step 312 as previously discussed. However, if the runstatus bit has been set at step 390, processor 250 acquires the pointeraddress that is established according to the position of programselector switch 130, as indicated at step 400. At step 402, processor250 accesses the memory location in memory unit 260 having the pointeraddress determined at step 400. Next, the values for the motor speed setpoint values and time that are stored in memory locations associatedwith the pointer address, are moved to the working registers maintainedby processor 250, as indicated at step 410. It should be appreciatedthat the motor speed set point values and time values that are acquiredare associated with the blending sequence that was previously recordedwhen blender 100 was placed into the record mode at step 312. Once thespeed set point values and time values are moved to the workingregisters, the process continues to step 412, where processor 250adjusts the speed of motor 264 in accordance with the time and the setpoint speed values stored in the working registers, while returning tostep 380. As a result, the user of blender 100 is provided with ondemand playback of a previously recorded blending sequence.

However, if initiate switch 150 has not been actuated at step 380, thenthe process continues to step 420, where processor 250 determineswhether the run status bit has been set. If the run status bit has notbeen set, then the process 300 returns to step 312. However, if the runstatus bit has been set, then the process 300 continues to step 422,where the pointer address is incremented by a value of one. Aftercompleting step 422, the process 300 continues to step 402 as previouslydiscussed. It should be appreciated that while the pointer address maybe incremented by a value of one, any other value may be used toincrement the pointer address at steps 322 and 422.

It will, therefore, be appreciated that one advantage of one or moreembodiments of the present invention is that a blender having record andplayback features allows a user to record blending sequences inreal-time. Still another advantage of the present invention, is that ablender having record and playback features records the blendingsequence directly as the user operates the blender. Another advantage ofthe present invention is that a blender having record and playbackfeatures may store a plurality of recorded blending sequences, that areselectable by the user for later playback. Still another advantage ofthe present invention is that a blender having record and playbackfeatures allows a user to create custom blending sequences of anydesired complexity. In addition, a further advantage of the presentinvention is that a blender having record and playback featuresmaintains a data interface so that a remote computing device can modifytransferred blending sequences. As a result, the system described hereinaccomplishes the objects of the invention and otherwise substantiallyimproves the art.

What is claimed is:
 1. A blender having record and playback featurescomprising: a motor adapted to rotate a blade assembly; a processorcoupled to said motor and coupled to a memory unit, said memory unitconfigured to store one or more blending sequences to control saidmotor; a record/playback switch coupled to said processor to place saidprocessor into either of a record mode or a playback mode; and avariably adjustable speed setting switch coupled to said processor tocontrol the speed at which said motor rotates said blade assembly;wherein without initiating a previously stored blending sequence at theblender, said processor executes said record mode, such that saidprocessor simultaneously records, and said memory unit stores as a newblending sequence, only the changes in speed of said motor that are madeas said speed setting switch is adjusted by a user while at least oneingredient is being blended by the blade assembly; and wherein saidprocessor executes said playback mode, such that said processor controlssaid motor in accordance with said new blending sequence.
 2. The blenderof claim 1, further comprising a program selector switch coupled to saidprocessor, said program selector switch selectively identifying a memorylocation in said memory unit where said new blending sequence is storedduring said record mode.
 3. The blender of claim 2, further comprisingan initiate switch coupled to said processor, said initiate switchstarting said recording mode when actuated.
 4. The blender of claim 1,further comprising a program selector switch coupled to said processor,said program selector switch identifying a memory location in saidmemory unit from where said new blending sequence is retrieved duringsaid playback mode.
 5. The blender of claim 4, further comprising aninitiate switch coupled to said processor, said initiate switch startingsaid playback mode when actuated.
 6. The blender of claim 1, furthercomprising a remote computing device adapted to communicate with saidprocessor, said computing device providing a first user invokedfunction; wherein said processor transfers at least one of said one ormore blending sequences to said remote computing device when said firstuser invoked function is invoked at said computing device.
 7. Theblender of claim 6, wherein said remote computing device includes adisplay for viewing said one or more blending sequences.
 8. The blenderof claim 6, wherein said remote computing device includes an inputdevice to select a particular segment of said at least one transferredblending sequence.
 9. The blender of claim 8, wherein said remotecomputing device modifies said selected blending sequence segment when asecond user invoked function provided by said computing device isinvoked.
 10. The blender of claim 6, further comprising a datainterface, wherein said remote computing device communicates with saidprocessor via a data interface.
 11. The blender of claim 1, furthercomprising a display for showing an operational parameter of theblender.